﻿//==============================================================================  
//Copyright (C) 2012-2015 9UN.ORG. All rights reserved. 
//GUID：46172595-6b69-4526-b9da-426d663f5b05
//CLR Version: 4.0.30319.18033
//Code Author：Kevin Wang
//Contact：Email(Admin@9un.org),QQ(265382 or 74344)
//Filename：MediaLibraryFactory
//Namespace：RuanRang.Media.Core
//Functions：MediaLibraryFactory  
//Created by Kevin Wang at 2013/2/2 23:05:09 http://blog.9un.org
//============================================================================== 

namespace RuanRang.Media.Core
{
    /// <summary>
    /// Instantiates windows based on generic type parameter. Window
    /// type should have default constructor.
    /// </summary>
    /// <typeparam name="TWindowType">Type of windows to instantiate.</typeparam>
    public class SimpleVlcDoubleWindowFactory<TWindowType> : VlcDoubleWindowFactory
        where TWindowType : DoubleWindowBase, new()
    {

        /// <summary>
        /// Creates window derived from <see cref="DoubleWindowBase"/> which
        /// can provide additional information for vlc.
        /// </summary>
        /// <returns>Instance of window</returns>
        public override DoubleWindowBase CreateWindow()
        {
            return new TWindowType();
        }
    }
}